/**
 * 和风天气API测试文件
 * 
 * 使用方法：
 * 1. 配置好 config.default.js 中的 weather.token 和 weather.apiHost
 * 2. 运行: node test/weather-api-test.js
 */

const config = require('../config/config.default.js')();

async function testWeatherAPI() {
  console.log('🌤️ 开始测试和风天气API配置...\n');
  
  // 检查配置
  const weatherToken = config.weather?.token || 'K6WKR2F6KX';
  const apiHost = config.weather?.apiHost || 'rk6yvxnwty.re.qweatherapi.com';
  
  console.log('📋 当前配置:');
  console.log(`Token: ${weatherToken.substring(0, 20)}...`);
  console.log(`API Host: ${apiHost}\n`);
  
  // 检查是否为默认配置
  if (weatherToken === 'K6WKR2F6KX' || apiHost === 'rk6yvxnwty.re.qweatherapi.com') {
    console.log('⚠️ 检测到默认配置，请先配置真实的token和apiHost');
    console.log('📝 配置方法：');
    console.log('1. 访问 https://dev.qweather.com/ 注册账号');
    console.log('2. 创建应用获取JWT token和API host');
    console.log('3. 在 config/config.default.js 中替换配置');
    console.log('\n✅ 系统将使用模拟天气数据，功能正常');
    return;
  }
  
  // 测试API请求
  console.log('🔍 测试API连接...');
  
  try {
    const testCity = '北京';
    const locationUrl = `https://${apiHost}/v7/city/lookup?location=${encodeURIComponent(testCity)}`;
    
    console.log(`📡 请求URL: ${locationUrl}`);
    console.log(`🔑 Authorization: Bearer ${weatherToken.substring(0, 20)}...`);
    
    // 这里只是展示请求格式，实际测试需要在Egg.js环境中运行
    console.log('\n📋 标准curl请求格式:');
    console.log(`curl -X GET --compressed \\`);
    console.log(`-H 'Authorization: Bearer ${weatherToken}' \\`);
    console.log(`'https://${apiHost}/v7/weather/now?location=101010100'`);
    
    console.log('\n✅ 配置格式正确，请在应用中测试实际API调用');
    
  } catch (error) {
    console.error('❌ 测试失败:', error.message);
  }
}

// 运行测试
if (require.main === module) {
  testWeatherAPI();
}

module.exports = { testWeatherAPI };
